#ifndef RENDERERDIRECTX_HEADER
#define RENDERERDIRECTX_HEADER

#include "AbstractClasses\Renderer.h"

class RendererDirectX : public Renderer {
private:
	//IDXGISwapChain *swapchain;             // the pointer to the swap chain interface
	//ID3D11Device *dev;                     // the pointer to our Direct3D device interface
	//ID3D11DeviceContext *devcon;           // the pointer to our Direct3D device context
public:
	RendererDirectX(WNDPROC);	// Construtor
	~RendererDirectX();			// Destructor

	void ReSizeScene(int,int);		// Resize the window
	void ToggleFullScreenMode(void);	// Toggle between fullscreen and window mode

	bool CreateAWindow(void);			// Create the OpenGL window
	void KillWindow(void);			// Destroy the OpenGL window

	void startDrawingScene(void);		// Start drawing the scene
	void stopDrawingScene(void);		// Stop drawing the scene

	void enterContext();
	void exitContext();
	void drawTriangle(POINT3D, POINT3D, POINT3D, COLOR);
	void drawRectangle(POINT3D, POINT3D, POINT3D, POINT3D, COLOR, bool);
	void drawLine(POINT3D, POINT3D, COLOR);
	void scale(VECTOR);
	void rotate(ORIENTATION);
	void translate(VECTOR);
protected:
	int InitD3D(HWND);		// Initialize the DirectX settings
};
#endif